Analog circuits are a necessary component of many modern signal and information processing systems. The "real world" is primarily analog in nature and almost every digital system that interacts with the "real world" must have analog-to-digital and digital-to-analog interfaces. Analog circuits are continuous in time with a continuous signal, whereas circuits such as CNN's (cellular neural networks) operate in a discrete time (d-t) mode. In several applications (e.g., anti-aliasing and smoothing (reconstruction) filters, or pulse-slimming circuits in computer disk memories), analog circuits cannot be replaced by digital circuits either for reasons of speed or for analog's unique ability to work in a continuous-time (c-t) mode. Digital information can be processed in analog form to gain speed (e.g., image processing requiring many multiplications). Moreover, even if a digital solution exists, an analog solution may be smaller, require less power, generate less noise and be more reliable (e.g., a smaller number of elements to go wrong). Analog circuits have been avoided in the art since analog designs are often more difficult than digital and have often had to consider low-level circuit interactions, and since analog system have suffered dependencies, such as on temperature, fabrication run and time. Therefore, there is a need in the art for a novel analog architecture that is flexible and can even accommodate mixed signal (digital and analog) system designs.
In some signal processing applications, analog circuits are preferred over digital circuits for their relative simplicity. In the field of analog c-t circuit design and architecture, full programmability (i.e., one of parameters and structure) has not been achieved commercially. Previous analog programmable circuit designs have favored flexibility (universality) of the architecture (i.e., pattern of connections in a programmable device) rather than performance. There is a wide spectrum of architectures of analog circuits which do not comprise any particular "pattern" or architecture of interconnection schemes. Therefore, programmable devices for analog circuits in the art feature long global signal interconnection schemes. The common characteristic of long global interconnection schemes of current programmable analog circuits is that they achieve greater flexibility of interconnection patterns, sometimes allowing every cell in a programmable device to be connected with every other cell. Such an approach favors flexibility of a programmable device, but jeopardizes high frequency performance. This also causes parasitic problems associated with long signal lines and crosstalk between long analog lines and digital lines on the same chip increasing noise and stability problems in analog and mixed signal (analog and digital) designs. Such problems are most acute in a high-frequency (HF) domain where analog circuits have their most desired applications.
There are many published circuits for multiple-valued logic and continuous or fuzzy logic circuits, there are no programmable devices for multiple-valued, continuous or fuzzy logic circuits. Therefore, there is a need in the art for a field-programmable analog array (FPAA) that can be used for implementation of a wide class of multi-valued logic, fuzzy logic and other continuous logic circuits.
Programmable hardware devices for digital circuits include such devices as programmable logic arrays (PLAs), programmable logic devices (PLDs), and field-programmable gate arrays (FPGAs). "Programmability" in this context means the ability of a hardware device to change its configuration and function in response to some kind of programming information, in order to perform a required task. This programmability is distinct from "software" programmability (such as the programmability of a microprocessor), which directs a sequence of steps to be performed but does not necessarily produce changes in the hardware characteristics of the device. Programmable hardware devices for discrete-time signal processing are limited to relatively low frequencies when used to process analog signals. Such circuits also cannot substitute for continuous-time circuits in applications such as anti-aliasing. Programmable hardware devices for analog, continuous-time signal processing, however, are not commercially available.
Programmability opens up new ways of designing and building circuits for a given domain. For example, as soon as a technical means for realizing digital programmable circuits became available, new techniques of implementing digital circuits emerged. However, techniques for attaining programmability of digital circuits are inappropriate for analog circuits, for at least two reasons. First, to attain flexibility for creating various topologies of digital circuits realized by means of programmable devices, long global signal interconnections are often employed. These long interconnections introduce signal delays and phase errors that are tolerable, although undesired, in digital circuits. Such delays and errors would be fatal to analog circuits. Secondly, digital programmability techniques usually employ some kind of electronic switches. All realizations of such switches of practical interest for integrated circuits (ICs) suffer from considerable parasitics, namely substantial resistance in the "on" state, and parasitic capacitances. The net result of these parasitics is the introduction of phase errors in transmitted signals, an effect similar to that caused by long signal interconnections. Again, whereas these errors are tolerable in digital circuits, they are fatal for analog circuits. The foregoing problems are most severe for the fastest (i.e., HF analog circuits) which are the most desirable ones.
The development of various analog integrated circuits (ICs) has led analog IC design to the point where it is desirable and advantageous to have universal analog and mixed-signal programmable circuits. Multi-valued and fuzzy-logic circuits are often based on the same or similar circuit techniques as analog circuits and analog programmable circuits could be used for their implementation.
Circuits can generally operate in current-mode or in voltage mode. The majority of circuit designs operate in a voltage mode. Advantages of current-mode operations of circuits are speed and immunity or resistance to noise.
Low frequency (e.g., acoustic range) analog programmable circuits can be built easily in MOS subthreshold technology. In this technology processing elements (i.e., cells of the programmable device) can work in subthreshold mode, whereas the switches (for programming the programmable device) can be realized as MOS transistors working in inversion mode. This approach would be suitable for low-frequency applications only. Consequently, even though a field-programmable analog array is theoretically possible, the realization of such a programmable device would have a most limited scope of applications, limited to artificial neural networks (ANN's) and low-frequency signal processing. One advantage of analog c-t processing is speed. Slower applications can be adequately served by digital or switched-capacitor (SC) circuits, where programmability is easier to achieve. Fully programmable SC circuits are commercially available.
The nature of cellular neural networks (CNNs) is different than that of fully programmable circuits. CNNs are massively parallel collections of information processing units called cells, having memory (state information). CNNs are capable of attaining one of many equilibrium states due to a complex pattern of cell interactions through exclusively local interconnections. A CNN is either in one equilibrium state, when state and output information in cells is constant over time, and represents a solution of a certain problem, or is in the process of changing state and output information of its cells in order to attain one of its equilibria. Such a process of changing state and output information of its cells is actually the computation performed by a CNN. It is initiated by providing initial state information and input information.
CNNs are not programmable devices in any sense. CNNs are, instead, special processors dedicated to solving certain information processing problems. Although the computation of a CNN can be performed continuously in time and in signal domain, the state and output information of CNN cells is not meaningful until the CNN reaches an equilibrium. Thus, a CNN is, de facto, a d-t processor, since meaningful output information is available only at time intervals when it remains in an equilibrium. Moreover, since the set of equilibria in a CNN is discrete, the output information of a CNN is also in discrete form.
Field-programmable gate arrays for digital circuits are available from a few sources. However, field-programmable gate arrays for analog circuits are not available. Field-programmable gate arrays for analog circuits have to overcome several problems such as bandwidth, linearity, signal-to-noise ratio, frequency response and the like. One approach has been attempted by Lee and Gulak ("Field-Programmable Analogue Array Based on Mosfet Transconductors" Electronics Lett. 28:28-29, 1992). Lee and Gulak attempted to achieve full programmability by having connections between configurable analog blocks realized using MOSFET transconductors and controlling conductance by varying the gate voltage defined by a multivalued memory system.
In another attempt using a digital system, Furtek (U.S. Pat. No. 4,918,440) describes exclusively digital programmable logic cells and arrays of such cells having an integrated logic and communications structure which emphasizes local communication.
Therefore, there is a need in the art for a programmable analog device suitable for high frequency analog operation, a family of general-purpose mixed (analog and digital) signal-processing cells, and a method of creating architectures, i.e., patterns of interconnections of collections of such cells, suitable for a wide class of analog, multi-valued and fuzzy logic, circuit applications.
An integrator is a basic building block for many analog signal processing systems, such as filters (Schaumann et al., "Design of Analog Filters" Prentice Hall, Englewood Cliffs, N.Y., 1990). The main requirement for an integrator design are low excess phase, high linearity (frequency range and slew rate), high DC gain, and availability of electronic tuning. In one OTA-C (operational transconductance amplifier and capacitor) technique of filter implementation, integrators are realized by loading a transconductor (OTA) with a capacitor. The output signal is taken directly from the capacitor and the circuit has high output impedance, inherited from the OTA. To alleviate the loading effect of other OTAs typically connected to the integrator's output, techniques, such as parasitic absorption (Schaumann et al. infra.) have been developed. Another solution is a voltage-to-voltage, or current-to-voltage integrator, based on the Miller effect. A voltage-output Miller integrator was followed by an OTA ((Haigh, "Continuous-time and Switched Capacitor Monolithic Filters Based on LCR Filter Stimulation using Current and Charge Variables" in Analogue IC Design, the current-mode approach, ed. Toumazou et al., Peter Peregrinus Ltd. 1990) to realize a current-to-current integrator. In this arrangement, the linearity of the integrator depends on the linearity of the OTA. However, there is a need in the art for an integrator with current input and current output, and good linearity and high speed. This invention was also made to address this need.
The full speed potential of analog circuits can be utilized by c-t Field-Programmable Analog Arrays (FPAAs). However, there are two problems that first need to be overcome. The first is to provide an architecture (interconnection scheme) complex enough to be programmable, yet contributing little interference, crosstalk and noise problems that are major problems in analog designs. The present invention overcomes this first problem. The second problem is designing a flexible, universal unit of a FPAA without explicit use of electronic switches in the signal path to attain programmed functionality. Switch parasitics, such as finite on resistance and stray capacitances, lead to frequency performance degradation. The present invention overcomes this second problem as well.